package com.jse.oo.design.pattern.behavioral.strategy;

import org.junit.Test;

/**
 * 具体的策略要从客户端出发，
 * 要么抽象出一个接口Context，客户端调用直接用实例化的Context；
 * 没有抽象接口，就直接传入具体的策略对象；
 * 
 * Strategy实现了开闭原则，所有想改变具体的策略实现，只需要实现接口就行
 * 
 * 这里以spring读取配置文件为例，简化操作
 * @author zenghua233
 *
 */
public class StrategyTest {

	/**
	 * 抽象接口
	 */
	@Test
	public void testSimple() {
		//读取xml文件，各种读取xml的策略
		Context xmlcontext = new XmlContext();
		xmlcontext.read();
		
		//读取file文件，各种文件读取
		Context filecontext = new FileContext();
		filecontext.read();
	}
}
